<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        // 深拷贝
        // var obj = {
        //     a: 1,
        //     c: {
        //         c1: 1,
        //         c2: 2
        //     }
        // };
        // function deepCopy(obj) {
        //     // 判断拷贝的数据是对象还是数组 生成定义的数据
        //     var copy = Array.isArray(obj) ? [] : {}
        //     for (key in obj) {
        //         // 循环的时候如果此项为引用类型，需要 在一次的将引用类型里面的值取出来
        //         if (typeof obj[key] == 'object') {
        //             // 再次调用该方法取数据
        //             copy[key] = deepCopy(obj[key])
        //         } else {
        //             copy[key] = obj[key]
        //         }
        //     }
        //     return copy
        // }
        // var b = deepCopy(obj)
        // console.log(b)
        let obj = {
            a:1,
            b:{
                c:1,
                d:2
            }
        }
        function clone(obj) {
            let cc = {}
            for(i in obj) {
                if( typeof obj[i]=='object') {
                    cc[i]=clone(obj[i])
                } else {
                    cc[i]=obj[i]
                }
              
            }
            return  cc
        }
     
       let o =  clone(obj)
       obj.b.c=3
       console.log(o)
    </script>
</body>

</html>